/* Product views share the same calm frame and keep detail one step away. */
.product-page { min-width: 0; }
.date-label { padding-top: .35rem; color: var(--muted); font-size: .8rem; white-space: nowrap; }
.product-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 1rem; margin: 1.4rem 0 1.65rem; }
.two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.three-column { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.two-column > *, .three-column > *, .product-grid > * { min-width: 0; }
.product-hero { position: relative; isolation: isolate; display: flex; align-items: center; overflow: hidden; padding: 1.8rem 2rem; border-radius: 3px; color: var(--ink); background: #15242a; border: 1px solid #3a5357; }
.hero-copy { position: relative; z-index: 1; width: 100%; }
.hero-copy h2 { max-width: 20rem; margin: 1.1rem 0 .8rem; font-size: clamp(2.4rem, 3.3vw, 3.2rem); letter-spacing: -.055em; line-height: 1.02; font-weight: 600; }
.hero-copy > p { max-width: 20rem; color: #afc1c9; font-size: .88rem; line-height: 1.55; }
.hero-copy .actions { gap: .8rem 1rem; margin: 1.25rem 0 0; }
.hero-link { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--pine); font-size: .8rem; text-decoration-color: #91b6b2; }
.product-hero .button-light { background: var(--pine); color: #0d1819; border-color: var(--pine); }
.product-hero .button-light:hover { background: #b5e1da; border-color: #b5e1da; }
.product-hero :focus-visible { outline-color: var(--gold); }
.status-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .6rem; border: 1px solid #475f61; border-radius: 3px; background: #1a2d30; color: #b3d7d2; font-size: .7rem; font-weight: 600; line-height: 1.3; }
.status-pill.light { color: #c9e3df; border-color: #475f61; background: #1d3032; }
.readiness-card { display: flex; flex-direction: column; padding: 1.4rem 1.5rem; }
.readiness-card > h2 { margin-top: .4rem; font-size: 1.6rem; line-height: 1.18; }
.readiness-intro { color: var(--muted); font-size: .87rem; }
.readiness-card details { margin: .15rem 0 1rem; padding: .8rem; font-size: .85rem; background: #1c252d; }
.readiness-card > .small-note { margin-top: auto; }
.checklist { list-style: none; margin: 1.05rem 0 .9rem; padding: 0; }
.checklist li { display: flex; align-items: flex-start; gap: .75rem; padding: .65rem 0; border-top: 1px solid var(--line); }
.checklist li:first-child { border-top: 0; padding-top: 0; }
.step-number { flex-shrink: 0; padding-top: .12rem; color: var(--muted); font-size: .7rem; font-variant-numeric: tabular-nums; }
.checklist strong { display: block; font-size: .84rem; }
.checklist li div > span { display: block; margin-top: .1rem; color: var(--muted); font-size: .77rem; line-height: 1.45; }
.small-note { color: var(--muted); font-size: .76rem; line-height: 1.5; }
.section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem 1rem; margin: 1.4rem 0 .75rem; }
.section-heading h2 { margin: 0; font-size: 1.2rem; }
.section-heading .eyebrow { margin-bottom: .25rem; font-size: .65rem; }
.section-heading > a { font-size: .8rem; font-weight: 550; }
.metric-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; margin: 0 0 1.3rem; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); }
.metric-strip > div { padding: 1.15rem 1.3rem; border-right: 1px solid var(--line); }
.metric-strip > div:last-child { border-right: 0; }
.metric-strip dt { font-size: .78rem; }
.metric-strip dd { font-size: clamp(1.4rem, 2vw, 1.9rem); }
.metric-strip p { margin: .4rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.feature-card { display: flex; flex-direction: column; align-items: flex-start; padding: 1.2rem 1.3rem; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); background: var(--paper); text-decoration: none; transition: border-color 160ms, background-color 160ms; }
.feature-card:hover { border-color: #6f9492; background: #1a262d; }
.feature-number { display: block; color: var(--muted); font-size: .65rem; letter-spacing: .1em; font-weight: 650; }
.feature-card h3 { margin: .6rem 0 .45rem; font-size: 1.1rem; }
.feature-card p { color: var(--muted); font-size: .8rem; line-height: 1.5; }
.text-link { font-size: .8rem; font-weight: 600; color: var(--pine); text-underline-offset: .2em; }
.feature-card .text-link { margin-top: auto; }
.empty-editorial { padding: clamp(1.5rem, 3vw, 2.8rem); }
.empty-editorial > h2 { font-size: clamp(1.65rem, 2.5vw, 2.25rem); line-height: 1.15; margin: .75rem 0 1rem; }
.empty-editorial > p { max-width: 43rem; color: var(--muted); font-size: .94rem; }
.empty-editorial .actions { margin-bottom: 0; }
.definition-grid { padding-top: .75rem; }
.definition-grid > section { padding: .5rem .8rem .5rem 0; }
.definition-grid h3 { font-size: 1rem; margin: .55rem 0; }
.definition-grid p { color: var(--muted); font-size: .82rem; }
.filter-pills { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1rem 0; }
.filter-pills a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem .8rem; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); color: var(--muted); font-size: .8rem; text-decoration: none; }
.filter-pills a:hover, .filter-pills a[aria-current=page] { border-color: #6f9492; color: var(--pine); background: var(--green-soft); }
.filter-pills a[aria-current=page] { font-weight: 650; }
.pick-card { display: flex; flex-direction: column; border-top: 3px solid var(--moss); }
.pick-card .section-heading { margin-top: 0; margin-bottom: .8rem; }
.pick-card h2 { margin-top: 0; font-size: 1.2rem; line-height: 1.3; overflow-wrap: anywhere; }
.pick-card > p:not(.eyebrow) { color: var(--muted); font-size: .85rem; }
.pick-card > p.small-note { font-size: .75rem; }
.pick-card .actions { margin-top: auto; margin-bottom: 0; padding-top: .5rem; }
.pick-card details { margin-bottom: 0; padding: .65rem .8rem; }
.pick-card details p { margin-bottom: 0; color: var(--muted); font-size: .85rem; }
.compact-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: .9rem 0; }
.compact-facts > div { min-width: 0; padding: .85rem; background: #1c252d; border-radius: 3px; }
.compact-facts dt { font-size: .75rem; }
.compact-facts dd { font-size: 1.05rem; line-height: 1.4; letter-spacing: -.02em; }
.back-link { display: inline-flex; align-items: center; min-height: 2.75rem; margin: -.6rem 0 .8rem; font-size: .82rem; text-decoration: none; }
.back-link:hover { text-decoration: underline; }
.evidence-list { padding-left: 1.2rem; margin: 1rem 0; }
.evidence-list li { padding: .35rem 0 .35rem .25rem; color: var(--muted); font-size: .9rem; }
.capture-note { margin-top: 1.3rem; }
.offer-page > section.card + section.card { margin-top: 1rem; }
.nba-review-list { display: grid; gap: .75rem; }
.nba-review-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nba-review-card h2 { margin: .3rem 0 .45rem; }
.nba-review-card p:last-child { margin-bottom: 0; }
.nba-review-card > div { min-width: 0; }
.nba-review-card .button { flex-shrink: 0; }
.nba-review-dates { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: .7rem 0 1rem; }
.nba-review-dates dd { margin-top: .2rem; font-size: .9rem; letter-spacing: 0; }
.nba-review-table { table-layout: fixed; }
.nba-review-table th, .nba-review-table td { padding: .65rem .7rem; }
.nba-review-attribution { margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; }
.nba-review-attribution p { margin-bottom: .5rem; }
.nba-review-attribution nav { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: .5rem; }
@media (max-width: 600px) {
  .nba-review-card { align-items: flex-start; flex-direction: column; }
  .nba-review-page .compact-facts { gap: .6rem; }
  .nba-review-page .compact-facts > div { padding: .7rem; }
  .nba-review-table th, .nba-review-table td { padding: .6rem .45rem; }
}

@media (min-width: 761px) and (max-width: 1200px) {
  .product-hero { padding: 1.5rem; }
  .hero-copy .actions { flex-direction: column; align-items: flex-start; gap: .35rem; }
  .readiness-card { padding: 1.2rem; }
  .readiness-card > h2 { font-size: 1.4rem; }
  .three-column { gap: .7rem; }
  .feature-card { padding: 1rem; }
  .metric-strip > div { padding: 1rem; }
}
@media (max-width: 960px) {
  .two-column { grid-template-columns: minmax(0, 1fr); }
  .product-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-copy .actions { flex-direction: row; align-items: center; gap: .8rem 1rem; }
  .readiness-card .checklist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .readiness-card .checklist li { border: 0; padding: 0; }
  .readiness-card > h2 br { display: none; }
}
@media (max-width: 760px) {
  .date-label { font-size: .72rem; padding: 0; }
  .product-grid { margin-top: 1rem; margin-bottom: 1.3rem; gap: .85rem; }
  .product-hero { padding: 1.6rem; }
  .hero-copy h2 { font-size: 2.7rem; max-width: 14rem; }
  .hero-copy > p { font-size: .85rem; max-width: 14rem; }
  .hero-copy .actions { gap: .6rem; }
  .hero-link { font-size: .75rem; }
  .readiness-card { padding: 1.15rem; }
  .readiness-card > h2 { font-size: 1.3rem; }
  .readiness-card .checklist { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .readiness-card .small-note { margin-top: .8rem; }
  .three-column { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .feature-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: .8rem; padding: 1rem 1.1rem; }
  .feature-card .feature-number { display: none; }
  .feature-card h3 { grid-column: 1; margin: 0 0 .3rem; font-size: 1rem; }
  .feature-card p { grid-column: 1; max-width: 30rem; margin: 0; font-size: .78rem; }
  .feature-card .text-link { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; font-size: 0; }
  .feature-card .text-link::after { content: '↗'; font-size: 1.2rem; }
  .section-heading { align-items: flex-end; margin-top: 1.3rem; }
  .section-heading h2 { font-size: 1.12rem; }
  .section-heading > a { font-size: .75rem; }
  .metric-strip { grid-template-columns: minmax(0, 1fr); }
  .metric-strip > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .15rem .8rem; padding: .9rem 1rem; border: 0; border-bottom: 1px solid var(--line); }
  .metric-strip > div:last-child { border-bottom: 0; }
  .metric-strip dd { margin: 0; font-size: 1.45rem; }
  .metric-strip p { grid-column: 1 / -1; margin: 0; font-size: .7rem; }
  .empty-editorial { padding: 1.5rem; }
  .empty-editorial > p { font-size: .88rem; }
  .definition-grid { gap: .5rem; }
  .definition-grid > section { padding: .75rem 0; border-bottom: 1px solid var(--line); }
  .definition-grid > section:last-child { border-bottom: 0; }
  .compact-facts { gap: .65rem; }
  .compact-facts > div { padding: .75rem; }
}
@media print {
  .product-hero { color: var(--ink); background: #fff; border: 1px solid var(--line); }
  .hero-copy > p, .hero-link { color: var(--ink); }
  .product-grid, .two-column, .three-column { break-inside: avoid; }
}

.product-grid { margin-top: 1rem; gap: .85rem; }
.product-hero { padding: 1.4rem 1.5rem; }
.hero-copy h2 { margin: .65rem 0; max-width: 29rem; font-size: clamp(1.7rem, 2.6vw, 2.5rem); letter-spacing: .01em; font-weight: 650; line-height: 1.12; }
.hero-copy > p { max-width: 30rem; }
.status-pill { text-transform: uppercase; letter-spacing: .06em; font-size: .64rem; }
.readiness-card > h2 { font-size: 1.3rem; }
.empty-editorial { padding: 1.5rem; }
.empty-editorial > h2 { font-size: 1.65rem; }
.metric-strip { border-radius: 3px; }
.feature-card h3 { font-size: 1rem; }
@media(max-width:760px) { .hero-copy h2 { font-size: 1.8rem; } .product-hero { padding: 1.2rem; } }
