
/* Independent products use the existing warm Resellbot palette. */
.product-page--research .product-hero h1 { max-width: 13ch; }
.research-preview { overflow: hidden; border: 1px solid #bdcdd6; border-radius: 1.1rem; background: #edf3f6; box-shadow: 0 18px 55px rgba(44,101,135,.08); }
.research-preview__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; padding: 1rem 1.3rem; border-bottom: 1px solid #cedbe2; font-size: .78rem; font-weight: 750; }
.research-preview__head i { margin-right: .4rem; }
.research-preview__tag { color: var(--interior-blue); font-size: .66rem; }
.research-preview__body { padding: clamp(1.3rem,3vw,2.2rem); }
.research-preview__body h2 { margin: 0 0 1.6rem; font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.07; letter-spacing: -.035em; }
.research-preview__body .interior-kicker { color: var(--interior-blue); }
.research-preview__rows { display: grid; gap: .55rem; }
.research-preview__rows > div { display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: .8rem; padding: .9rem 1rem; background: #fff; border: 1px solid #d9e3e8; border-radius: .6rem; }
.research-preview__rows > div > i:first-child { color: var(--interior-blue); font-size: 1.3rem; }
.research-preview__rows > div > i:last-child { color: #8a9ca7; }
.research-preview__rows strong, .research-preview__rows small { display: block; }
.research-preview__rows strong { font-size: .9rem; }
.research-preview__rows small { margin-top: .2rem; color: var(--interior-muted); font-size: .74rem; }
.research-preview__foot { display: flex; align-items: center; gap: .8rem; margin-top: 1.3rem; padding-top: 1.2rem; border-top: 1px solid #cedbe2; }
.research-preview__foot > i { color: var(--interior-blue); font-size: 1.5rem; }
.research-preview__foot p { margin: 0; font-size: .8rem; }
.research-preview__foot strong, .research-preview__foot span { display: block; }
.research-preview__foot span { color: var(--interior-muted); margin-top: .15rem; }
.suite-decision { padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--interior-border-strong); border-radius: 1rem; background: #fff; }
.suite-decision > div { position: relative; padding: 1.4rem 0 1.4rem 2.8rem; border-top: 1px solid var(--interior-border); }
.suite-decision > div > span { position: absolute; left: 0; top: 1.4rem; font-weight: 700; font-size: .75rem; color: var(--interior-blue); }
.suite-decision h3 { font-size: 1.15rem; margin-bottom: .3rem; }
.suite-decision p { color: var(--interior-muted); font-size: .85rem; margin-bottom: 0; }
.suite-decision .interior-kicker { margin-bottom: 1rem; }
.suite-decision__note { padding-top: 1.2rem; border-top: 1px solid var(--interior-border); font-size: .73rem !important; }
.suite-task-board { border: 1px solid #ded5bd; border-radius: 1rem; background: #fcf9f1; overflow: hidden; }
.suite-task-board--green { border-color: #cbd9cc; background: #f0f5ef; }
.suite-task-board__head { padding: 1.3rem 1.6rem; border-bottom: 1px solid var(--interior-border); font-weight: 750; font-size: .85rem; display: flex; align-items: center; gap: .6rem; }
.suite-task-board > div:not(:first-child) { display: flex; align-items: center; gap: 1rem; padding: 1.5rem 1.6rem; border-bottom: 1px solid var(--interior-border); }
.suite-task-board > div:last-child { border: 0; }
.suite-task-board > div:not(:first-child) > i { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; flex-shrink: 0; border-radius: .65rem; background: #fff; color: var(--interior-amber); font-size: 1.2rem; }
.suite-task-board--green > div:not(:first-child) > i { color: var(--interior-green); }
.suite-task-board p { margin: 0; }
.suite-task-board strong, .suite-task-board span { display: block; }
.suite-task-board p span { margin-top: .25rem; color: var(--interior-muted); font-size: .82rem; }
.suite-availability { padding: 2rem; border: 1px solid var(--interior-border-strong); border-radius: 1rem; background: #fff; }
.suite-availability > div { padding: 1.3rem 0; border-top: 1px solid var(--interior-border); }
.suite-availability h2 { font-size: 1.45rem; margin: .85rem 0 .6rem; }
.suite-availability p { color: var(--interior-muted); font-size: .9rem; margin-bottom: 0; }
.suite-availability .interior-kicker { margin-bottom: 1.1rem; }
.suite-availability__status { display: inline-flex; gap: .4rem; color: var(--interior-green); font-size: .74rem; font-weight: 750; }
.suite-availability__status--pending { color: var(--interior-amber); }
